package com.cskaoyan.javase.string.api3.conversion3;

/**
 * @description: String的转换功能
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

/**
 * //获取一个用来表示字符串对象字符序列的，字节数组
 *  * byte[] getBytes()
 *
 * //获取的是用来表示字符串对象字符序列的，字符数组
 * char[] toCharArray()
 *
 * //把字符数组转换成字符串
 *  String valueOf(char[] chs)
 *
 * //把各种基本数据类型转换成字符串
 * static String valueOf(int i/double...)
 *
 * //把字符串全部转化为小写
 * String toLowerCase()
 *
 * //把字符串全部转换为大写
 * String toUpperCase()
 *
 * //字符串拼接，作用等价于 + 实现的字符串拼接
 * String concat(String str)
 *
 *
 */
public class Demo {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String s = "hello";
        byte[] bytes = s.getBytes();
        //获取该字符串中的字符的编码值,装进byte数组
        System.out.println(Arrays.toString(bytes));
        ////使用指定字符集，将字符编码成字节序列，并将结果存储到一个新的 byte 数组中
        //getBytes(String charsetName)
        //默认的字符集UTF-8
        String s2 = "我爱你";
        byte[] bytes1 = s2.getBytes();
        System.out.println(Arrays.toString(bytes1));
        //默认字符集UTF-8中 三个byte数值表示一个中午字符
        byte[] gbks = s2.getBytes("GBK");
        //alt+enter
        System.out.println(Arrays.toString(gbks));
        //GBK代表本地编码集 GBK中两个byte数值表示一个中文字符

        //char[] toCharArray()
        //这里是获取String对象的char数组
        char[] chars = s2.toCharArray();
        //这里返回的数组不是原先的final数组
        //返回的是一个新的数组 只不过和原先的value数组取值一样
        System.out.println(Arrays.toString(chars));

        //将字符从此字符串复制到目标字符数组
        //getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
        //src source的缩写 表示源头
        //dst 一律表示目的
        char[] dst = new char[10];
        s2.getChars(0,1,dst,4);
        System.out.println(Arrays.toString(dst));

        //indexOf 查找元素的下表
        //valueOF
        System.out.println(String.valueOf(new Demo()));
        System.out.println(String.valueOf(1));
        System.out.println(String.valueOf(0.1));

        //转换字符串的大小写
        String s3 = "hello world";
        System.out.println(s3.toUpperCase());
        String s4 = "WWW.BaidU.cOM";
        System.out.println(s4.toLowerCase());
        //所有对字符串对象进行操作的方法 一律是生成了新的字符串对象

        //字符串拼接，作用等价于 + 实现的字符串拼接
        //java拿C++/c中的方法
        System.out.println(s3.concat("111"));
        System.out.println(s3+"111");


    }
}
